<?php
namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Http\Query\SupplierQuery;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cookie;
use SplFileObject;

class SupplierController extends Controller
{

    /**
     * 仕入先マスタ 情報
     * 保存
     */
    public function addSupplierMaster(Request $request)
    {
       try{
            $SupplierMaster = new SupplierQuery();
            $supplierInfo = $request->input('SupplierMaster');
            $supplier_id = $supplierInfo['supplier_id'];
            // echo $supplier_id;exit;
            if (empty($supplier_id)) {
                $supplierInfo['created_at'] = now();
                $supplierInfo['updated_at'] = now();
                $supplierInfo['delete_flg'] = 0;
                // var_dump($supplierInfo);exit;
                $flag = $SupplierMaster->addSupplierMaster($supplierInfo);

                if ($flag) {
                    return redirect('/admin/supplier')->with('success', '添加成功！');
                }
            } else {
                $list = 'supplier_id';

                $flag = $SupplierMaster->updSupplierMaster($supplier_id, $list, $supplierInfo);
                if ($flag) {
                    return redirect('/admin/supplier')->with('success', '削除成功！');
                }
            }
        }catch (\Exception $e){
            \Log::error($e->getFile()." Line:".$e->getLine()." Msg:".$e->getMessage());
        }
    }

    /**
     * 仕入先マスタ 情報
     * 削除
     */
    public function delSupplierMaster(Request $request)
    {
       try{
            $supplierInfo = $request->input('SupplierMaster');
            $supplier_id = $supplierInfo['supplier_id'];
            $SupplierMaster = new SupplierQuery();

            $flag = $SupplierMaster->delSupplierMaster($supplier_id);
            // return $news;//直接返回

            if ($flag) {
                return redirect('/admin/supplier')->with('success', '削除成功！');
            }
        }catch (\Exception $e){
            \Log::error($e->getFile()." Line:".$e->getLine()." Msg:".$e->getMessage());
        }
    }

    /**
     * 仕入先マスタ 情報
     * 削除
     */
    public function delsupplierInfo(Request $request)
    {
       try{
            $supplier_id = $request->input('supplier_id');

            $supplierMaster = new SupplierQuery();
            $flag = $supplierMaster->delSupplierMaster($supplier_id);

            if ($flag) {
                return redirect('/admin/supplier')->with('success', '削除成功！');
            }
        }catch (\Exception $e){
            \Log::error($e->getFile()." Line:".$e->getLine()." Msg:".$e->getMessage());
        }
    }

    function querySupplierMaster(Request $request)
    {
        try{
                $auth = cookie::get('auth');

                $supplierMaster = new SupplierQuery();

                $supplierInfo = $supplierMaster->getSupplierMaster();
                return view('admin.supplierlist', array(
                    'supplierInfos' => $supplierInfo
                )); // 返回视图
        }catch (\Exception $e){
            \Log::error($e->getFile()." Line:".$e->getLine()." Msg:".$e->getMessage());
        }
    }

    /**
     * 仕入先マスタ 情報
     * 一覧表示
     */
    function index(Request $request)
    {
        try{
                $SupplierMaster = new SupplierQuery();
                $supplierId = $request->input('supplier_id');
                // echo "".$supplierId;exit;
                // $supplierId = 1;
                $supplierInfo = $SupplierMaster->getSupplierInfoByLoginId($supplierId);
                // var_dump($supplierInfo);
                if (! empty($supplierInfo)) {
                    // var_dump($supplierInfo);
                    return view('admin.supplier', array(
                        'supplierInfo' => $supplierInfo[0]
                    )); // 返回视图
                } else {
                    $supplierInfo = new SupplierQuery();
                    return view('admin.supplier', compact('supplierInfo')); // 返回视图
                }
        }catch (\Exception $e){
            \Log::error($e->getFile()." Line:".$e->getLine()." Msg:".$e->getMessage());
        }
    }

    /**
     * 仕入先マスタ 情報
     * CSV取り込み
     */
    public function inputCsvSupplierMaster(Request $request)
    {
       try{
            // setlocaleを設定
            setlocale(LC_ALL, 'ja_JP.UTF-8');

            // アップロードしたファイルを取得
            $uploaded_file = $request->file('csv_file');
            $filecsv = $_FILES['csv_file'];
            // ファイル空の判断
            // ファイルフォーマットの判断
            $file_type = substr(strstr($filecsv['name'], '.'), 1);
            if ($file_type != 'csv') {
                echo "<script type=\"text/javascript\">alert(\"ファイルフォーマットのエラーです,もう一度アップロードしてください!\");window.history.go(-1);</script>";
                exit();
            }

            // アップロードしたファイルの絶対パスを取得
            $file_path = $request->file('csv_file')->path($uploaded_file);
            $file = new SplFileObject($file_path);
            $file->setFlags(SplFileObject::READ_CSV);

            $row_count = 1;
            $flag = false;
            foreach ($file as $row) {

                if (isset($row[0]) && ! empty($row[0])) {

                    // 1行目のヘッダーは取り込まない
                    if ($row_count > 1) {
                        if (isset($row[0]) && ! empty($row[0])) {
                            $supplier_name = mb_convert_encoding($row[0], 'UTF-8', 'SJIS');
                            var_dump($supplier_name);
                        }
                        if (isset($row[1]) && ! empty($row[1])) {
                            $supplier_catelogue = mb_convert_encoding($row[1], 'UTF-8', 'SJIS');
                            var_dump($supplier_catelogue);
                        }
                        if (isset($row[2]) && ! empty($row[2])) {
                            $supplier_postcode = mb_convert_encoding($row[2], 'UTF-8', 'SJIS');
                            var_dump($supplier_postcode);
                        }
                        if (isset($row[3]) && ! empty($row[3])) {
                            $supplier_adress = mb_convert_encoding($row[3], 'UTF-8', 'SJIS');
                            var_dump($supplier_adress);
                        }
                        if (isset($row[4]) && ! empty($row[4])) {
                            $supplier_biru_name = mb_convert_encoding($row[4], 'UTF-8', 'SJIS');
                            var_dump($supplier_biru_name);
                        }
                        if (isset($row[5]) && ! empty($row[5])) {
                            $supplier_tel = mb_convert_encoding($row[5], 'UTF-8', 'SJIS');
                            var_dump($supplier_tel);
                        }
                        if (isset($row[6]) && ! empty($row[6])) {
                            $supplier_fax = mb_convert_encoding($row[6], 'UTF-8', 'SJIS');
                            var_dump($supplier_fax);
                        }
                        if (isset($row[7]) && ! empty($row[7])) {
                            $supplier_mail = mb_convert_encoding($row[7], 'UTF-8', 'SJIS');
                            var_dump($supplier_mail);
                        }
                        if (isset($row[8]) && ! empty($row[8])) {
                            $supplier_stuff = mb_convert_encoding($row[8], 'UTF-8', 'SJIS');
                            var_dump($supplier_stuff);
                        }
                        if (isset($row[9]) && ! empty($row[9])) {
                            $stuff_kana = mb_convert_encoding($row[9], 'UTF-8', 'SJIS');
                            var_dump($stuff_kana);
                        }
                        if (isset($row[10]) && ! empty($row[10])) {
                            $supplier_stuff_telephone = mb_convert_encoding($row[10], 'UTF-8', 'SJIS');
                            var_dump($supplier_stuff_telephone);
                        }
                        if (isset($row[11]) && ! empty($row[11])) {
                            $stuff_mail = mb_convert_encoding($row[11], 'UTF-8', 'SJIS');
                            var_dump($stuff_mail);
                        }
                        if (isset($row[12]) && ! empty($row[12])) {
                            $delete_flg = mb_convert_encoding($row[12], 'UTF-8', 'SJIS');
                            var_dump($delete_flg);
                        }
                        if (isset($row[13]) && ! empty($row[13])) {
                            $created_at = mb_convert_encoding($row[13], 'UTF-8', 'SJIS');
                            var_dump($created_at);
                        }
                        if (isset($row[14]) && ! empty($row[14])) {
                            $updated_at = mb_convert_encoding($row[14], 'UTF-8', 'SJIS');
                            var_dump($updated_at);
                        }
                    }
                }
                // ここで値をデータベースに保存したりする
                $SupplierMaster = new SupplierQuery();
                $flag = $SupplierMaster->addCsvSupplierMaster($row);
                $row_count ++;
            }

            if ($flag) {
                return redirect('/admin/supplier')->with('success', '添加成功！');
            }
        }catch (\Exception $e){
            \Log::error($e->getFile()." Line:".$e->getLine()." Msg:".$e->getMessage());
        }
    }
}